home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / RxMUI / Examples / Binpic.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  2004-01-31  |  11.3 KB  |  208 lines

  1. /* Picture example. Show a saved-in-the-macro pic */
  2.  
  3. signal on halt
  4. signal on break_c
  5.  
  6. call Init
  7. call CreateApp
  8. call HandleApp
  9. /* never reached */
  10. /***********************************************************************/
  11. Init: procedure
  12.     l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  13.     if AddLibrary("rexxsupport.library","rxmui.library","rxlibnet.library")~=0 then exit
  14.     return
  15. /***********************************************************************/
  16. HandleApp: procedure
  17.     ctrl_c=2**12
  18.     do forever
  19.         call NewHandle("app","h",ctrl_c)
  20.         if and(h.signals,ctrl_c)>0 then exit
  21.         select
  22.             when h.event="QUIT" then exit
  23.             otherwise interpret h.event
  24.         end
  25.     end
  26.     /* never reached */
  27. /***********************************************************************/
  28. CreateApp: procedure
  29.     app.Title="PictureExample"
  30.     app.Version="$VER: PictureExample 1.2 (25.1.2002)"
  31.     app.Copyright="Copyright © 2002 by Alfonso Ranieri"
  32.     app.Author="Alfonso Ranieri"
  33.     app.Description="PictureExample"
  34.     app.Base="RXMUIEXAMPLE"
  35.     app.SubWindow="win"
  36.      win.ID="bpic"
  37.      win.Title="PictureExample"
  38.      win.Contents="mgroup"
  39.       bm.Class="Picture"
  40.       bm.Source=GetSource()
  41.       bm.SourceType="mem"
  42.       bm.InputMode="RelVerify"
  43.       bm.Frame="Button"
  44.  
  45.       mgroup.0=text(,ParseText("
  46. This is a builtin image.\n
  47. It means that image data are saved\n
  48. in the macro itself."))
  49.  
  50.       mgroup.1=MakeObj(,"VCenter",MakeObj(,"HCenter","bm"))
  51.  
  52.     if NewObj("Application","app")>0 then exit
  53.  
  54.     call Notify("win","CloseRequest",1,"app","ReturnID","quit")
  55.     call Notify("bm","Pressed",0,"app","return","say 'bm pressed'")
  56.  
  57.     call set("win","Open",1)
  58.  
  59.     say "-- Information --"
  60.     say "      Width:" xget("bm","BitmapWidth")
  61.     say "     Height:" xget("bm","BitmapHeight")
  62.     say "      Depth:" xget("bm","BitmapDepth")
  63.     say "    Masking:" xget("bm","BitmapMasking")
  64.     say "Compression:" xget("bm","BitmapCompression")
  65.     say "Transparent:" xget("bm","BitmapTransparent")
  66.     say "    XAspect:" xget("bm","BitmapXAspect")
  67.     say "    YAspect:" xget("bm","BitmapYAspect")
  68.  
  69.     return
  70. /***********************************************************************/
  71. halt:
  72. break_c:
  73.     exit
  74. /**************************************************************************/
  75. /* This is obteined via rxlibnet.library/EncodeB64(),
  76.    The simplest way is to use p2s.rexx */
  77.  
  78. GetSource:
  79.  
  80. call DecodeB64("
  81. Rk9STQAAGgZJTEJNTkFNRQAAAA5wYzA6cnhtdWkuanBnAEJNSEQAAAAUAJ8AJAAAAAAIAAEA
  82. AAAAAACfACRDQU1HAAAABFAAEgFDTUFQAAADAJWVlQAAAP///zhlonl5ea6urqqSff+qlmYi
  83. AO5VAJn/Ee67AFVV/5ki/wD/iMzMzAAAAOBAQAAAAODgwERERFVVVWZmZnd3d4iIiJmZmaqq
  84. qru7u8zMzN3d3e7u7v///////4iIiP///8zMzERERP///////4j//0SIiMz//2bMzCJERKr/
  85. /+7//8z//2aIiP///5nMzDNERP///////0T//yKIiGb//zPMzBFERFX//3f///+I/4hEiP/M
  86. /8xmzEQiRP+q///u/4iI/0REiMzM/2ZmzAAAmAAAzAAAZAAwAAAwmAAwzAAw/AAwZACYmABk
  87. zACYMACYZADMMADMZADMmADMzDCYAAD8MADM/ESI/MyI/Jgg/Pz87CBkiCBEiOz8/DRkyOzs
  88. 7ET8/GT8/MxkzGQA/MzM/JjMzABwQGSIRIiI/Oy4APyI/OxUAAAA/GRkAIjM/PwAmIAAMCRA
  89. ZLAIePwAMACYzACY/AAAMDD8AGT8MJjMZGT8zKj8qGQAmPykgGTMAMz8/BBEIJgAzPwwzJj8
  90. EPzMzPyo/ESw1EQQRPzM/GRkzPyIiFRU/DDMZABQcGTI/KyQ1AD8iCCIiLCwsKyYAJhkyGSI
  91. iPwA/DTIyDD8mIhEiMBwAKj8/GTIyGREiPz8zJh0VOy4QDAgRDBERFSo/DAwRERE/DAwzPz8
  92. iMzMZFSAvMzMzFRUVMxkZMS8AFxcWOz87KhooCR4JKCgoLRIbFi4tHTg8Kys9MCYwEyAsMiY
  93. dKR8YNiMQAzgADg8QLQsLMQ8PNRMTNzc3IAAANw0NDiIRNh0QHTYbMisnHRcRJyEcBhcMDw4
  94. NMQAAGhkXMC0rKCMcISwPAxg/EycjJhUqAC4AADcAIBgTOzkFDQ0NExMTLi4uGSIuDR0qABk
  95. mCwonABoAIiIiBgkJKBYADSINGQgAKAAAFSwWNhkOCRcJCAkKISAfMDAvNjU1Pz8ANy4RJiY
  96. mGRkZERERKioqCgoLERITGxsbMTEyOTk5IyMjHt7e6+vr6qQfP+pl0JPRFkAABa0AQQl7wDu
  97. /wD+AQQl7wDtAO0AAQQl7wABBCXvAAAC7gAOcAA71AAD0AAAIAIAACAI/AAGqAP+v//87/7/
  98. AP35/wD+BnAAO0AAAUD7AAEgCPwABVAgAdQAAf4AACD3AAIII4D+AACA9AAGd947QAADEP4A
  99. AAL+AAAI/AACIAI69gAACPwADV//gdQAA3AAAGACAAAg+wATH/+Ge8AC/oAECVimKIBhCQgC
  100. /1ATwAAX9r//vX/6f/f9f//O///+1f4TIABEUIAAjoAECAAGIABhAQgC/wATH/+KAgACIoAE
  101. AVAiiIAhCAAFKlAT/+vQIAAAEAACcACBQAAOAAAEAAATf+v8WcAAyoAHqAgGoAB9AQAH/wAT
  102. f//cUIAAiAACKAAEoABMAQAD1QATwAAzD0ACZoAH8XgrWaA/CAgEKvATRXV1//gClUQGJq9V
  103. +q9RqmBFJT4T4ABGb3f/fvv11/vt/33v1/+2YdYTGgKJ/QAAEQAACqxSAK0AqmBImj4TAAEx
  104. kFAAAUAKIAURooAQKABFRCgT+gK+AiACBAAH/AIPuAD/AAA/n8ATX/692YgAgQQOLoRWEIfR
  105. qEBZnzwDX3e8Sf0ACw4qgEegBdGAQB2fFBPF/Ee02ACxRAQFPR3yusE+MnRh6hMW+05v+oNM
  106. oDrtU451Yu0VkewT6hOESQHy/3633+wA7+GfvoB+/1GMBBNoABFtAgFAIBERUIEFQhIVgYNo
  107. Cv8AEQ+PUANEIDINEg/wYOEBEK2f6hPoABWAqAAAgA0cAS54ANMAAHpj4BP7tvTtAIFIIBn/
  108. UJ5kQ1+BgOpj+gP6sl9g/QALC/xAj3QC/wCAb3vgE5O24Z9Sg0wgOOMWMJvxjN8RwIQaE8rt
  109. Fz/tAKBSlAT/myO1gX+NIOtGE8AAAkAf/1/t5AVRwQ3fACx2YEkqExUCqL+oAIAAk1r8hJKk
  110. Vn+FFwCU/wARAz+gAIBAFACtGCMxgVOhAABGBJUCq8AF/gALB1sAVbgD1wBgVwC4E7///b/g
  111. AKASG/r+t/om//ftn7acA5/vv4D9AAsHWlCfuAfXJEQXotgT6v1Wf/gAsFK8pa9jS/so2/mo
  112. tg4TI7Syi/aigDIC1t8rZ/QmXBokXyYTMQQgEL/f///4QGKCTIkC6s4AAgwTWEtBS/aCAAAF
  113. Id9Ql/fJXTrJgAYTsAAAj0AAgBIABp0gI3cCFBEAACID6EtB0P4ADCANIwDwuADLg+HJgCgT
  114. Tvvf7+IgAAAHu999t/T9XTr//f4EevvTxKL+AAsHt0J5tIHvSSrt3SwTprCeO1yjgBIKmJ2N
  115. C3Y2lhE2fdoTyqRbZ/uwgBIB0H96Z/mq+FiwLa4ToqASGAfvf+3iEMBADDgAQzYACIATVQuk
  116. h/qAABAGD/8FE+oVfIhP0E4TyAAAZ/ggABASAL9AJ9UDOEiAAC4EPQuk+AH+AAsED4BFOAcW
  117. B/LP0GATXV/t5/iQgBId73+/++v+/Nn/934THQ/t4ACAAAAXz8B/eCu+RND/9WAT4FRJH/4w
  118. wBJJ4L/6z9TpuBswJx4TP/BNMP6pJAA1PK0XhvKw9bGOeyoT8EBIFVV////5CMFCDQgRgp9u
  119. QCQTIAsQQP6AAAAogyzgdvVO4AAxAMoTCAAAIqqJJAAMAD5AA/IAZirhICoTCAsQVQAgAAAU
  120. g8GgeQ9PFCqaIOQTL7+32v6AAAA297+9//fv/Wqav9oEL7sVclT+AAsst5L1/AfvlSC6O+AT
  121. B7SnnaqJJgISdO0di/iha05Lnz4TT0oq2Rd08VJNYYTfxiDIg0YhLSAToQKgTuqv/63AYFoJ
  122. YcIBNWcvBB4TQCQRIRVwwBBSFgUAFiYUgIYRQMATSAAAEhdUERAoQbSAJvIA4AgQ4AQTKCSR
  123. P+gAIAAaF9uAEUQVNaEuIN4TXv1fuhVwwFJ/n7f2nn3++5/hu/YTDmwbuAAgwAB/V6PWkJbc
  124. U48BqfITdtvOj/9eGdIFiF52r+nruxH+Wz4TD/ADEInYTYhP2BEeSiNZy+/PCAQT4oCCEIpv
  125. 1veEEG0CLZFIpQQQKBoTEA8cSHDQDAhQA5DBMiyl5A/P48QTCAAABICZCIhIABAAIWALbCv/
  126. oCATOA+cTPsB0AAUA+zBH5yuKCAAQ/4THX99633RbQh379r92W612v/vV9ITHX8dSPlARAAf
  127. y8jdcE68ruQwY9ITZXDht46b+chl7H88z7IbctvflD4TXiQNUf51zleXYoQzgFGgFcMgYgAT
  128. 4CAFAVKbOe3BULwRJ7Cj3FRbQj4TQIowqgB0BlWojQNIUE4YACMgncATEACAAfxkxhAQAIAA
  129. LEAACA/uBAATMIqwq/6D+AB4nb9IX74bwDQbmf4TX996/q91zhe+r2fu199cI6+vufwTXo44
  130. +/4RyAW+r6dq058YAajFufwTL1XKVVPvDtJGMvymr/FH+9d7ZD4TBbACqQM5PWUJQIKnQAJB
  131. GlgCVKgT0CCSKQBcFp8wCLSCB+JCghP8FK4TKk48EtyawWASrQVYMByZJIgCj0ATUAAQCAMB
  132. HWWwCAYIAAABEF6SQJATak6sG9/n3gACrTNQN/yatIFsy/4Tb99t1/+76WDP91t1+12/fbxn
  133. 724TL948m9+7/ACb7Rd1c1yaPNb0z8YTVZHBzSBEN2dtWvgtz+EnySv/IL4THtAKBQyioVs6
  134. cISKiTdAC2EIAEATxAAABQA4OqaRIIAAjfEDADb0BFYTIQ5xePNFUVlFhgElcAg4cIEI84AM
  135. EAAAAgCCGVshBJQAAv4AA0wGACgTdQ5xf/P/YgDUgpUlf+g7cLf89+4Tf////f/n51ne22//
  136. fe79/673+9YTf957ff/H8gD/0oWvfO55e+ry88YTTvGOhww4r1uaXfraD/bHjzf9DH4Tb2zT
  137. BEJDw/5IcEK+gBlAM6ABbT4T4AjQBUAEhQ8DokA0AoAGUf/9LSoTEBIsuDS8M/qmia1AMAQw
  138. hEACgoD8AAREAvBDhf4ABlABQMESCRQTUBIsvXS4tAXkLu1EMtQ3hL/8g6oTX/cv//+7//r8
  139. eP/P/7/8riv02v4TH3YvvXb/9Qru+O/Osp10purky7QT7+VDR8sDzvEZd1KPz+vPar//UX4T
  140. u/AIlgSn5/9nUgYOysaKH2ABfvATESBIFgASDAlBEAICisCKgj/8IvQThAdlKBlYB/aQpHjR
  141. MDAxYIAAiQAIsABAEEAQI/5A/gAHAQAEgEABCgATNAclPllKKAHQpHjRO/A/YP/9o/QT7t+3
  142. 77/v9/e+7/39fv97fev3/foTPtdlvh3/5AD25nzdenY5fev19/QT2tiS1+an2/9uS4UsT89O
  143. nT/+fv4TOpBRt4HfAfTAvAAPRYQBJQABWrATAJcBt8BRGg4AKGAERYQAJA/dUroTAC+qCB4A
  144. 4fU8QduwOHh0ysAClQAKoAcAkAAABvCAAGD+AAUFAAABAgQTICiqv94A+wO8QZu0Pfxwys/f
  145. h7YT/2j+b7+u9vX/15//v//62//2vfoTui/6v9+O9AX81du/Pfxxy8/Xn7ITX0BU9+GuG/pD
  146. liRPh4eOET/9Kv4TL/tUi8QSBL1AJygPgpCergcGoOgTiEBUi+wAG0kCAggIA5Caggd0pO4T
  147. UASqFAAlxL6YyNUwfCBhUMABagAKoAAACAAgBXUBACD8AAMICgQQE9AEqhfsBdvDm8j1MH+w
  148. a1DPf0r6E9e/q3f/3+d+/P339///b33353vuE3e/qh/sF8IL2O31N/+wb3zHZ2rqE4e7Aev/
  149. +j/1ZzUCx4PfDi0//BX+Eyb1p5OiAAAwgFoUG0+UIXcjAktQE6IggvOwAH+Phgggck+EIAFl
  150. IGt6E1ACGEgAB4AyOKTjIBBgDgDAAXQA/wAJB+BAEADzAUAgoP0AA0dCKAQT0CIam/AX/4w/
  151. pMPQH2AuAKNjP34TXf94H7/vj/R4t99dv3v//rq/1/oTVPc/+5IHj0Y49vd5H3AvduMjf3oT
  152. rf1it//4f71HExzdrxvx/j38q/4TL6u3z8WCACKiecgPScUAXyFAgAATiSCgf/2wN9g6EEjI
  153. H8FQRAFRAK4TUFRIAAIJgCUCAhcwgDoigM6EPAAJIAAHzAAIADJkQP0ABSAAASIAEBPwVE/7
  154. /zG331hSF/Cf+lKAz/e8lhN231+X50f796//tzf7/t+7/tz/bhN231/f5wOzx657lzfS/lKb
  155. 75S8hhOGixB//X5/+Nm9oMd/xP07MXtD/hM2YXdb4EIGDVBfUk3SZABWFoAHEBOCKCL72H4N
  156. 3d8JAoi0xCwSB6AFXhNBHAgQIiHgAkAgJXASCAGo6Ar4ABMgCAFAICACoIRAAkAPAHAAAQIC
  157. IBPhNCnr2n/t259gJ7igyC2o6Cj9fhN99/0//8P/+/f2/f/7e/ft+F3/nBN1fX172mPre1N2
  158. d739aFXs+Aj6TBOc4/Zv/f4f3b+W2s/m865FEfcH/hNrTXx3NCYiEUhWwEObjn1dKBDRABMg
  159. QUgvTCwm8UNSgAC0CMcFEBASvhMEsoOQMATQDSghL1wbkHyi048gABNADABwMFAhAAwAAGAL
  160. gDgAMAAJAhNEuovvTHr3/CchLzwkEIOi4586vBPfur/f96fe/7mtf99b9/367//3/BNPvr/v
  161. RAb07SElbx8QFsX6+5/zvhObADw///kv8t/MUONv57tYDHDf/hNdoLQGMAIaQEQN1R6QgAJx
  162. qhMYABMVAJQezgOazksEAXY/wFRRCAEd7BOiXgrgMABkAYQwCoAQhgKKUaxgAABA/gAPMIII
  163. IFSABSAAIP8AIAAABhPiXgr+zoD+78uwD/QvZtHKcax9bBPq/2v3d3532b97/v3en3ru9/77
  164. /hPq/ir0xgJ+ids539yehizq8759ahMIoWEf//2b/m/L8X3veddkhlKf/BNXQEhAQC5LIJCq
  165. gUMTBCKutIgohBNBQABPryTLIJeIgWEv5F2KhCgquhMoM6WgQBB0B0BVPoSQESJRSlXABABA
  166. /gAPcAAIAKggABAQUCYAICABRhNoM6WvrzS/J/f1P+Sv4V3RalXr+BO+v/+/+/93/1/3f97X
  167. y671e9f8vBN+M+2vmz5/J893P9aHgQj1etXqOhPWjFof7++L+LeCQWp/+v+kEaI//hMThS8g
  168. AQUFUMJDReHTxgARJ5WIChNRBQQr/QBlQF/CBf1r/D0ABQCN9BMkcNDAADqKKwA8ugAQAQBK
  169. WGJAChPAAQAAgoAEEIAAAdARAAIAIACQChOkddDrf7rPe9/8v21rfT1KfWLd9A4u/vv+PX+b
  170. /+99/ifWV8/+/wFquhMm9fvqvD+Pe819//XDVw9bf/fN8BPKjys//8V1xH/BRf///v21h52/
  171. /hMKJ0LFID4wAAIVR1SWwKA+kVQ0DhOAZ0CFZBQ4AD3QB16OwL+SoVQ39BMxQLUAAEDX94II
  172. OKQRIQBAbguADgVAaEACgTD+AAoQAEASyAIAMAAIEhPxL/UH5XTv97/YP/qP6T3QXgu/+BM/
  173. l799fu/3//nv/7X1N2j9Xqv10hM7Y/dAZH7X97ndf/SH4Sr8fguzwBPOv0p//58oCH/3x1v+
  174. 3n+9AKB//hMCF4Ac8MQDgICkK9gTYiBoliGwLBNCn4Ae0MQagr+kK/8rZm/olgW90hONYH1A
  175. ABtkXQAb0CAUEMAXadoALBMAgAAAAgQDggREIDBQYGAABgRCPBPNf/1e0t9/3bv/+91vdK/f
  176. f9v/wBP9f////fvtffm7382/nZ7fefu17BPNb/1e8N9v3b0f+/0vdO7ff/ut0BNwn4K//+Sa
  177. ov/kL//77T/oliX//BMDB1EAJUsDmAAFBv0VmCAMOGZAHhOUNVgDJUoLmd/xgv59mK+EOFZX
  178. 5BMcgC642ATkZgACYAEQIwAzR4gAHBMXChgAIAEDEAQAhYMAGIEMADEhWBOLvXa7/U3vd9vy
  179. Y35tuya3f6t2oBPr1+f/3/38Z/H+fn+f535z/6reHhOfk3+7/U3vd9X2Zvxcuyc/f6oXRBPg
  180. f9FHJ/obmf/9n//v3P/EuFP/+hOQAGU5WgKl8pABRdU45Hg7VZGAOBPY/uU6e6qt1u/9f/bL
  181. 5Hv7VZV/zg+AABrBAAFQABACgAEwGIAE/gAAOBMwAQURKFCgcRKBAAk0AAAQAACCsBN4/X/a
  182. S9v99+1///7P/PvvVZU9QBPH3vrPx69frvh+//f7//+v//v8MBPQ3H/aS4v89Gr/+vbD/Pv/
  183. VZS+gA93/+U///6v3//9f///53/7/v8A/BNjAURQGAgiCAEAEDQy1UA6xQwFfBPd/1Tf218u
  184. Xf//291O12+6W01amgJjAAP8AAAB/gAAMP4AAwQABWATIkCAACAgAQIKACQh8SCAAKQChegT
  185. HP/H3/t/L1/0///cT/fruntO2hATa29//9/f/u3RtVv2/t93/9/9f2QTSS9H38tfLkXbtUvt
  186. jFNruptIWoACPv/8/P8A/v7/AH/7/wDsEz8geBoABBwEDSAAAeAdQoFeyADwE8Df2v3+/bP/
  187. 8t///x+3+9fg9vUeDD8gAAIAAAgADSAAAOD+AAMeAADwEz+wIAIBAgwAL6ACAOAKBAg/CR/g
  188. EwBP2L3//rP/0l/9/x+1/8vg9eEAEz9v///+/f//z3/9///9a7X/3mvgEwDfuLX++Kf74N//
  189. /h+v+ULB/P4AAD/y/wP+//X4E16IIKMBAAwABtSQAAALSQE7ABfcE6F36lz//1f/+Ctv/1vd
  190. v77k2+g6E16IAIMAAAgABtSQAAACAAA7ABfAE16sFaMAAAgAX9SVQO4CQAEbBC/IEwFT9Vz/
  191. /1f/qCtqv1Hdv77E19gQAl6J6v3/Be+P/9A/5f7///sBz8QTACXAfP7/U+/RK0V/r933v+DT
  192. 4AAAX/r/AP7+/wBb/v8D3///zBM/QADmAAAIABdiCwJFAAgAIQBf4A7Av/87///3/+CN9P26
  193. //f+/wGgfgM/QADG/QALF2ILAkUACAABAF9gAz/1AMD9AAtf+1utVQAKQFABXwATACr+Pf//
  194. 9/+gBKRWqvz1v67+oAATP2D/+f//z/8/cg8E5f38vw7+/8ATAJX+Gf//5/9omVSpsPz2/17/
  195. oEAAP/r/Affv/v8G/f//3///qBMX+ABqAAAIAS+dJ/ZZAgoFKQB/gBP4Br+V///3/tAiSAmm
  196. /fXalv0B/hMX+ABqAAAIAS+dJ/ZZAgoFKQB+ABMH3+BKQEkIUr////bugiq14Qf/ABMAJB+1
  197. v7b37UACCAkz/fVKHvgAgBMH3V/bP7b/5C/fv/5q//9vZ/r+ABMAA/+Rf//3tpBg0AiEfdX6
  198. xv+AAAI//r/7/wG/b/3/BN+//X8gEy//gmgAIAqwn////n/gn5+DW//mE/QAXZf/VXVPQQAA
  199. AYAdIGB8pAFcEy//gmgAIAqwn////n/gn5+DW/0ACAv/9G2Rrsqq/v7/B3/3///9e/xE/wAF
  200. C5LuUTVV/QAHgAgAQFaEAAATC/+g+M77v+C+///+f+Lf39Xb/6L/ABF0lV/f9UpgAAABABdg
  201. ICigAQAIP//f//91f//f/f8B/b/+/wH+5hMV//U3yHEp0v3r/X///r//9//AABP/wArIJYqW
  202. KQaUA+oIAEIjCA///hMV//U3yHEp0v1r/X/3/r//d/QAABMAP/+3/9/r//lr/BX///3cd/FA
  203. AP8ABwJIBKgUKQCA/QAFQAAACoAAEwC/9zfe3Xn/+Wv8N/f//f338AAABwCACIAzBtIE/gAE
  204. IgABACH9ABM/f///7fu/+/9r/d3//v/e//VAAAo=","res","string var")
  205.  
  206. return res
  207. /**************************************************************************/
  208.